functional pattern